1. Technical Field
The present invention relates to an improved distributed data processing system and in particular to an improved method and apparatus for managing memory within a data processing system. Still more particularly, the present invention relates to a method and apparatus for managing pages in a data processing system.
2. Description of Related Art
A computer includes both a physical machine, namely the hardware, and the instructions which cause the physical machine to operate, namely the software. Software includes both application and operating system programs. If the program is simply to do tasks for a user, such as solving specific problems, it is referred to as application software. If a program controls the hardware of the computer and the execution of the application programs, it is called operating system software. System software includes the operating system, the program which controls the actual computer or central processing unit (CPU), and device drivers which control the input and output devices (I/O) such as printers and terminals.
A general purpose computer is fairly complicated. Usually a queue of application programs is present waiting to use the CPU. The operating system will need to determine which program will run next, how much of the CPU time it will be allowed to use and what other computer resources the application will be allowed to use. Further, each application program will require a special input or output device and the application program must transfer its data to the operating system, which controls the device drivers.
A network containing a number of computers may be formed by having these computers, also referred to as xe2x80x9cnodesxe2x80x9d or xe2x80x9cnetwork computersxe2x80x9d, communicate with each other over one or more communications links, which is an aggregation which may be called a computer network. Today, many computer work stations are connected to other work stations, file servers, or other resources over a local area network (LAN). Each computer on a network is connected to the network via an adapter card or other similar means, which provides an ability to establish a communications link to the network.
Typically, in a network, applications are stored on a server and accessed by network computers (NCs), also referred to as xe2x80x9cclientsxe2x80x9d. A network computer will retrieve pages from a server. Depending on the configuration of the network computer, memory constraints may occur while running applications from the server. In a network computing environment in which all of the network computer""s applications are downloaded across the network, a run time problem is present due to constraints, which include, network traffic, application/image size, amount of memory on then network computer, and server load. In a memory constrained environment, the network computer""s operating system will remove (swap or discard) pages from memory to make room for new pages. If a page which was discarded from the memory in the network computer is needed at a later time, it must be retrieved from the server across the network. Retrieving pages from the server will take longer than retrieving pages located locally on the network computer and retrieving pages located locally on the network computer, rather than from the server also reduces the network load.
Therefore, it would be advantageous to have an improved method and apparatus for managing pages in a network computer.
The present invention is directed to a method in a data processing system for managing data within the data processing system. A discardable page that is to be removed from the memory is identified. A determination is made as to whether performance will increase by storing the discardable page in a paging device located within the data processing system. If it is determined that performance will increase, the discardable page is marked as a paged discardable page and stored in the paging device locally, wherein this page may be retrieved from the paging device.